import numpy as np
from scipy.special import digamma  # 导入 digamma 函数

def gen_golden_data_digamma():
    # 生成随机输入数据（范围 1~10，形状 [8, 2048]）
    input_x = np.random.uniform(1, 10, [8, 2048]).astype(np.float32)
    
    # 计算 digamma(x)（即 ψ(x) = d/dx [ln Γ(x)]）
    golden = digamma(input_x).astype(np.float32)
    
    # 保存 tiling 信息（保持原逻辑）
    tiling = np.array([16384, 8], dtype=np.uint32)
    tiling.tofile("./input/input_tiling.bin")
    
    # 保存输入和输出数据
    input_x.tofile("./input/input_x.bin")
    golden.tofile("./output/golden.bin")

if __name__ == "__main__":
    gen_golden_data_digamma()